Tile Percolation: An OpenMP Tile Aware Parallelization Technique for the Cyclops-64 Multicore Processor
نویسندگان
چکیده
Programming a multicore processor is difficult. It is even more difficult if the processor has software-managed memory hierarchy, e.g. the IBM Cyclops-64 (C64). A widely accepted parallel programming solution for multicore processor is OpenMP. Currently, all OpenMP directives are only used to decompose computation code (such as loop iterations, tasks, code sections, etc.). None of them can be used to control data movement, which is crucial for the C64 performance. In this paper, we propose a technique called tile percolation. This method provides the programmer with a set of OpenMP pragma directives. The programmer can use these directives to annotate their program to specify where and how to perform data movement. The compiler will then generate the required code accordingly. Our method is a semi-automatic code generation approach intended to simplify a programmer’s work. The paper provides (a) an exploration of the possibility of developing pragma directives for semi-automatic data movement code generation in OpenMP; (b) an introduction of techniques used to implement tile percolation including the programming API, the code generation in compiler, and the required runtime support routines; (c) and an evaluation of tile percolation with a set of benchmarks. Our experimental results show that tile percolation can make the OpenMP programs run on the C64 chip more efficiently.
منابع مشابه
Tile Reduction: The First Step towards Tile Aware Parallelization in OpenMP
Tiling is widely used by compilers and programmer to optimize scientific and engineering code for better performance. Many parallel programming languages support tile/tiling directly through first-class language constructs or library routines. However, the current OpenMP programming language is tile oblivious, although it is the de facto standard for writing parallel programs on shared memory s...
متن کاملUniversity of Delaware Department of Electrical and Computer Engineering Computer Architecture and Parallel Systems Laboratory Tile Reduction: an OpenMP Extension for Tile Aware Parallelization
Tiling is widely used by compilers and programmer to optimize scientific and engineering code for better performance. Many parallel programming languages support tile/tiling directly through first-class language constructs or library routines. However, the current OpenMP programming language is tile oblivious, although it is the de facto standard for writing parallel programs on shared memory s...
متن کاملOpenMP for next generation heterogeneous clusters
The last years have seen great diversity in new hardware with e. g. GPUs providing multiple times the processing power of CPUs. Programming GPUs or clusters of GPUs however is still complicated and time consuming. In this paper we present extensions to OpenMP that allow one program to scale from a single multi-core CPU to a many-core cluster (e. g. a GPU cluster). We extend OpenMP with a new sc...
متن کاملOn-chip Interconnection Architecture of the Tile Processor Imesh, the Tile Processor Architecture's On-chip Interconnection Network, Connects the Multicore Processor's Tiles with Five 2d Mesh Networks, Each Specialized for a Different Use. Taking Advantage of the Five Networks, the C
......As the number of processor cores integrated onto a single die increases, the design space for interconnecting these cores becomes more fertile. One manner of interconnecting the cores is simply to mimic multichip, multiprocessor computers of the past. Following past practice, simple busbased shared-memory multiprocessors can be integrated onto a single piece of silicon. But, in taking thi...
متن کاملAutomatic multilevel parallelization using OpenMP
In this paper we describe tl, e eaietlsion of the CAPO parallelization support tool to support multilevel parallelism based on OpenMP directives. CAPO generates OpenMP directives with extensions supported by tile NanosCompiler t,, allow for directive nesting and definition of thread g r,,ups. We report first results for several benchmark _odes and one full application that have been par, d/eliz...
متن کامل